package com.sgb.kjwl.di.manage;

import com.sgb.kjwl.repository.ManageRepertory;
import com.sgb.kjwl.repository.impl.ManageRepertoryImpl;
import com.sgb.kjwl.view.ui.fragment.manage.BusinessDynamicsForWebsite;
import com.sgb.kjwl.view.ui.fragment.manage.ChildForDemandAnnouncement;
import com.sgb.kjwl.view.ui.fragment.manage.ChildForDemandAskLeaseFragment;
import com.sgb.kjwl.view.ui.fragment.manage.ChildForOperatingBusiness;
import com.sgb.kjwl.view.ui.fragment.manage.CompanyPropertyAllFragment;
import com.sgb.kjwl.view.ui.fragment.manage.CompanyPropertyFragment;
import com.sgb.kjwl.view.ui.fragment.manage.DemandAnnouncementForWebsite;
import com.sgb.kjwl.view.ui.fragment.manage.EnterpriseServicesFragment;
import com.sgb.kjwl.view.ui.fragment.manage.EnterpriseWebFragment;
import com.sgb.kjwl.view.ui.fragment.manage.EpAssestFragment;
import com.sgb.kjwl.view.ui.fragment.manage.HonorGloryForWebsite;
import com.sgb.kjwl.view.ui.fragment.manage.IntellectualPropertyForWebsite;
import com.sgb.kjwl.view.ui.fragment.manage.IntellectualPropertyRightFragment;
import com.sgb.kjwl.view.ui.fragment.manage.IntroductionForWebsite;
import com.sgb.kjwl.view.ui.fragment.manage.JiCaiManageFragment;
import com.sgb.kjwl.view.ui.fragment.manage.OperatingBusinessForWebsite;
import com.sgb.kjwl.view.ui.fragment.manage.OperatingResultsForWebsite;
import com.sgb.kjwl.view.ui.fragment.manage.PromotionalAlbumForWebsite;
import com.sgb.kjwl.view.ui.fragment.manage.ShopCompanyTrendsFragment;
import com.sgb.kjwl.view.ui.fragment.manage.SpecialAssetsForWebsite;
import com.sgb.kjwl.view.ui.fragment.manage.SpecialQualificationForWebsite;
import com.sgb.kjwl.view.ui.fragment.manage.SpecialQualificationFragment;
import com.sgb.kjwl.view.ui.fragment.manage.NoTypeFragment;
import com.sgb.kjwl.view.ui.fragment.manage.SupplierServiceProviderFragment;
import com.sgb.kjwl.view.ui.fragment.manage.TradeHonourFragment;
import com.sgb.kjwl.viewmodel.manage.BusinessDynamicsForWebsiteModel;
import com.sgb.kjwl.viewmodel.manage.ChildForDemandAnnouncementModel;
import com.sgb.kjwl.viewmodel.manage.ChildForDemandAskLeaseModel;
import com.sgb.kjwl.viewmodel.manage.ChildForOperatingBusinessModel;
import com.sgb.kjwl.viewmodel.manage.CompanyPropertyAllModel;
import com.sgb.kjwl.viewmodel.manage.CompanyPropertyModel;
import com.sgb.kjwl.viewmodel.manage.DemandAnnouncementForWebsiteModel;
import com.sgb.kjwl.viewmodel.manage.EnterpriseServicesModel;
import com.sgb.kjwl.viewmodel.manage.EnterpriseWebModel;
import com.sgb.kjwl.viewmodel.manage.HonorGloryForWebsiteModel;
import com.sgb.kjwl.viewmodel.manage.IntellectualPropertyForWebsiteModel;
import com.sgb.kjwl.viewmodel.manage.IntroductionForWebsiteModel;
import com.sgb.kjwl.viewmodel.manage.JiCaiManageModel;
import com.sgb.kjwl.viewmodel.manage.NoTypeFragModel;
import com.sgb.kjwl.viewmodel.manage.EpAssestFragModel;
import com.sgb.kjwl.viewmodel.manage.IntellectualPropertyRightModel;
import com.sgb.kjwl.viewmodel.manage.OperatingBusinessForWebsiteModel;
import com.sgb.kjwl.viewmodel.manage.OperatingResultsForWebsiteModel;
import com.sgb.kjwl.viewmodel.manage.PromotionalAlbumForWebsiteModel;
import com.sgb.kjwl.viewmodel.manage.ShopCompanyTrendsModel;
import com.sgb.kjwl.viewmodel.manage.SpecialAssetsForWebsiteModel;
import com.sgb.kjwl.viewmodel.manage.SpecialQualificationForWebsiteModel;
import com.sgb.kjwl.viewmodel.manage.SpecialQualificationModel;
import com.sgb.kjwl.viewmodel.manage.SupplierServiceProviderFragModel;
import com.sgb.kjwl.viewmodel.manage.TradeHonourModel;
import com.swgk.core.base.di.Fragment;
import com.swgk.core.base.api.BaseApiSource;
import com.swgk.core.base.model.preference.BasePreferenceSource;

import dagger.Module;
import dagger.Provides;

@Module
public class EnterpriseManageFragModule {
    private SupplierServiceProviderFragment supplierServiceProviderFragment;
    private NoTypeFragment noTypeFragment;

    private EpAssestFragment epAssestFragment;

    private ShopCompanyTrendsFragment shopCompanyTrendsFragment;
    private SpecialQualificationFragment specialQualificationFragment;
    private TradeHonourFragment tradeHonourFragment;
    private IntellectualPropertyRightFragment intellectualPropertyRightFragment;
    private CompanyPropertyAllFragment companyPropertyAllFragment;
    private CompanyPropertyFragment companyPropertyFragment;

    private OperatingBusinessForWebsite operatingBusinessForWebsite;
    private DemandAnnouncementForWebsite demandAnnouncementForWebsite;
    private OperatingResultsForWebsite operatingResultsForWebsite;
    private BusinessDynamicsForWebsite businessDynamicsForWebsite;
    private HonorGloryForWebsite honorGloryForWebsite;
    private IntellectualPropertyForWebsite intellectualPropertyForWebsite;
    private IntroductionForWebsite IntroductionForWebsite;
    private PromotionalAlbumForWebsite promotionalAlbumForWebsite;
    private SpecialQualificationForWebsite specialQualificationForWebsite;
    private ChildForOperatingBusiness childForOperatingBusiness;
    private ChildForDemandAnnouncement childForDemandAnnouncement;
    private SpecialAssetsForWebsite specialAssetsForWebsite;
    private ChildForDemandAskLeaseFragment childForDemandAskLeaseFragment;
    private JiCaiManageFragment jicaimanagefragment;
    private EnterpriseServicesFragment enterpriseServicesFragment;
    private EnterpriseWebFragment enterpriseWebFragment;

    public EnterpriseManageFragModule(JiCaiManageFragment jicaimanagefragment) {
        this.jicaimanagefragment = jicaimanagefragment;
    }

    public EnterpriseManageFragModule(SpecialAssetsForWebsite specialAssetsForWebsite) {
        this.specialAssetsForWebsite = specialAssetsForWebsite;
    }

    public EnterpriseManageFragModule(ChildForDemandAnnouncement childForDemandAnnouncement) {
        this.childForDemandAnnouncement = childForDemandAnnouncement;
    }

    public EnterpriseManageFragModule(ChildForOperatingBusiness childForOperatingBusiness) {
        this.childForOperatingBusiness = childForOperatingBusiness;
    }

    public EnterpriseManageFragModule(SpecialQualificationForWebsite specialQualificationForWebsite) {
        this.specialQualificationForWebsite = specialQualificationForWebsite;
    }

    public EnterpriseManageFragModule(PromotionalAlbumForWebsite promotionalAlbumForWebsite) {
        this.promotionalAlbumForWebsite = promotionalAlbumForWebsite;
    }

    public EnterpriseManageFragModule(IntroductionForWebsite IntroductionForWebsite) {
        this.IntroductionForWebsite = IntroductionForWebsite;
    }

    public EnterpriseManageFragModule(IntellectualPropertyForWebsite intellectualPropertyForWebsite) {
        this.intellectualPropertyForWebsite = intellectualPropertyForWebsite;
    }

    public EnterpriseManageFragModule(HonorGloryForWebsite honorGloryForWebsite) {
        this.honorGloryForWebsite = honorGloryForWebsite;
    }

    public EnterpriseManageFragModule(BusinessDynamicsForWebsite businessDynamicsForWebsite) {
        this.businessDynamicsForWebsite = businessDynamicsForWebsite;
    }

    public EnterpriseManageFragModule(OperatingResultsForWebsite operatingResultsForWebsite) {
        this.operatingResultsForWebsite = operatingResultsForWebsite;
    }

    public EnterpriseManageFragModule(DemandAnnouncementForWebsite demandAnnouncementForWebsite) {
        this.demandAnnouncementForWebsite = demandAnnouncementForWebsite;
    }

    public EnterpriseManageFragModule(OperatingBusinessForWebsite operatingBusinessForWebsite) {
        this.operatingBusinessForWebsite = operatingBusinessForWebsite;
    }

    public EnterpriseManageFragModule(CompanyPropertyFragment companyPropertyFragment) {
        this.companyPropertyFragment = companyPropertyFragment;
    }

    public EnterpriseManageFragModule(ShopCompanyTrendsFragment shopCompanyTrendsFragment) {
        this.shopCompanyTrendsFragment = shopCompanyTrendsFragment;
    }

    public EnterpriseManageFragModule(SpecialQualificationFragment specialQualificationFragment) {
        this.specialQualificationFragment = specialQualificationFragment;
    }

    public EnterpriseManageFragModule(TradeHonourFragment tradeHonourFragment) {
        this.tradeHonourFragment = tradeHonourFragment;
    }

    public EnterpriseManageFragModule(IntellectualPropertyRightFragment intellectualPropertyRightFragment) {
        this.intellectualPropertyRightFragment = intellectualPropertyRightFragment;
    }

    public EnterpriseManageFragModule(CompanyPropertyAllFragment companyPropertyAllFragment) {
        this.companyPropertyAllFragment = companyPropertyAllFragment;
    }

    public EnterpriseManageFragModule(SupplierServiceProviderFragment supplierServiceProviderFragment) {
        this.supplierServiceProviderFragment = supplierServiceProviderFragment;
    }

    public EnterpriseManageFragModule(NoTypeFragment noTypeFragment) {
        this.noTypeFragment = noTypeFragment;
    }

    public EnterpriseManageFragModule(EpAssestFragment epAssestFragment) {
        this.epAssestFragment = epAssestFragment;
    }

    public EnterpriseManageFragModule(ChildForDemandAskLeaseFragment childForDemandAskLeaseFragment) {
        this.childForDemandAskLeaseFragment = childForDemandAskLeaseFragment;
    }

    public EnterpriseManageFragModule(EnterpriseServicesFragment enterpriseServicesFragment) {
        this.enterpriseServicesFragment = enterpriseServicesFragment;
    }

    public EnterpriseManageFragModule(EnterpriseWebFragment enterpriseWebFragment) {
        this.enterpriseWebFragment = enterpriseWebFragment;
    }

    @Provides
    @Fragment
    ManageRepertory provideManageFrgRepertory(BaseApiSource apiSource, BasePreferenceSource preferenceSource) {
        return new ManageRepertoryImpl(apiSource, preferenceSource) {
        };
    }

    @Provides
    @Fragment
    SupplierServiceProviderFragModel spplierServiceProviderFragModel(ManageRepertory repertory) {
        return new SupplierServiceProviderFragModel(supplierServiceProviderFragment, repertory);
    }

    @Provides
    @Fragment
    NoTypeFragModel noTypeFragModel(ManageRepertory repertory) {
        return new NoTypeFragModel(noTypeFragment, repertory);
    }

    @Provides
    @Fragment
    EpAssestFragModel epAssestFragModel(ManageRepertory repertory) {
        return new EpAssestFragModel(epAssestFragment, repertory);
    }

    @Provides
    @Fragment
    ShopCompanyTrendsModel shopCompanyTrendsModel() {
        return new ShopCompanyTrendsModel(shopCompanyTrendsFragment);
    }

    @Provides
    @Fragment
    SpecialQualificationModel specialQualificationModel() {
        return new SpecialQualificationModel(specialQualificationFragment);
    }

    @Provides
    @Fragment
    TradeHonourModel tradeHonourModel() {
        return new TradeHonourModel(tradeHonourFragment);
    }

    @Provides
    @Fragment
    IntellectualPropertyRightModel intellectualPropertyRightModel() {
        return new IntellectualPropertyRightModel(intellectualPropertyRightFragment);
    }

    @Provides
    @Fragment
    CompanyPropertyAllModel companyPropertyAllModel() {
        return new CompanyPropertyAllModel(companyPropertyAllFragment);
    }

    @Provides
    @Fragment
    CompanyPropertyModel companyPropertyModel() {
        return new CompanyPropertyModel(companyPropertyFragment);
    }

    @Provides
    @Fragment
    OperatingBusinessForWebsiteModel operatingBusinessForWebsiteModel() {
        return new OperatingBusinessForWebsiteModel(operatingBusinessForWebsite);
    }

    @Provides
    @Fragment
    DemandAnnouncementForWebsiteModel demandAnnouncementForWebsiteModel() {
        return new DemandAnnouncementForWebsiteModel(demandAnnouncementForWebsite);
    }

    @Provides
    @Fragment
    OperatingResultsForWebsiteModel operatingResultsModel() {
        return new OperatingResultsForWebsiteModel(operatingResultsForWebsite);
    }

    @Provides
    @Fragment
    BusinessDynamicsForWebsiteModel businessDynamicsForWebsiteModel() {
        return new BusinessDynamicsForWebsiteModel(businessDynamicsForWebsite);
    }

    @Provides
    @Fragment
    HonorGloryForWebsiteModel honorGloryForWebsiteModel() {
        return new HonorGloryForWebsiteModel(honorGloryForWebsite);
    }

    @Provides
    @Fragment
    IntellectualPropertyForWebsiteModel intellectualPropertyForWebsiteModel(ManageRepertory repertory) {
        return new IntellectualPropertyForWebsiteModel(intellectualPropertyForWebsite, repertory);
    }

    @Provides
    @Fragment
    IntroductionForWebsiteModel introductionForWebsiteModel() {
        return new IntroductionForWebsiteModel(IntroductionForWebsite);
    }

    @Provides
    @Fragment
    PromotionalAlbumForWebsiteModel promotionalAlbumForWebsiteModel() {
        return new PromotionalAlbumForWebsiteModel(promotionalAlbumForWebsite);
    }

    @Provides
    @Fragment
    SpecialQualificationForWebsiteModel specialQualificationForWebsiteModel() {
        return new SpecialQualificationForWebsiteModel(specialQualificationForWebsite);
    }

    @Provides
    @Fragment
    ChildForOperatingBusinessModel childForOperatingBusinessModel() {
        return new ChildForOperatingBusinessModel(childForOperatingBusiness);
    }

    @Provides
    @Fragment
    ChildForDemandAnnouncementModel childForDemandAnnouncementModel() {
        return new ChildForDemandAnnouncementModel(childForDemandAnnouncement);
    }

    @Provides
    @Fragment
    ChildForDemandAskLeaseModel childForDemandAskLeaseModel() {
        return new ChildForDemandAskLeaseModel(childForDemandAskLeaseFragment);
    }

    @Provides
    @Fragment
    SpecialAssetsForWebsiteModel specialAssetsForWebsiteModel() {
        return new SpecialAssetsForWebsiteModel(specialAssetsForWebsite);
    }

    @Provides
    @Fragment
    JiCaiManageModel JiCaiManageModel() {
        return new JiCaiManageModel(jicaimanagefragment);
    }

    @Provides
    @Fragment
    EnterpriseServicesModel enterpriseServicesModel(ManageRepertory repertory) {
        return new EnterpriseServicesModel(repertory);
    }

    @Provides
    @Fragment
    EnterpriseWebModel enterpriseWebModel(ManageRepertory repertory) {
        return new EnterpriseWebModel(repertory);
    }

}

